home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / UTIL / StringTokenizer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  1.7 KB  |  148 lines

  1. package java.util;
  2.  
  3. public class StringTokenizer implements Enumeration {
  4.    private int currentPosition;
  5.    private int maxPosition;
  6.    private String str;
  7.    private String delimiters;
  8.    private boolean retTokens;
  9.  
  10.    public StringTokenizer(String var1, String var2, boolean var3) {
  11.       this.currentPosition = 0;
  12.       this.str = var1;
  13.       this.maxPosition = var1.count;
  14.       this.delimiters = var2;
  15.       this.retTokens = var3;
  16.    }
  17.  
  18.    public StringTokenizer(String var1, String var2) {
  19.       this(var1, var2, false);
  20.    }
  21.  
  22.    public StringTokenizer(String var1) {
  23.       this(var1, " \t\n\r", false);
  24.    }
  25.  
  26.    private void skipDelimiters() {
  27.       while(true) {
  28.          if (!this.retTokens && this.currentPosition < this.maxPosition) {
  29.             String var1 = this.delimiters;
  30.             char var2 = this.str.charAt(this.currentPosition);
  31.             if (var1.indexOf(var2, 0) >= 0) {
  32.                ++this.currentPosition;
  33.                continue;
  34.             }
  35.          }
  36.  
  37.          return;
  38.       }
  39.    }
  40.  
  41.    public boolean hasMoreTokens() {
  42.       while(true) {
  43.          if (!this.retTokens && this.currentPosition < this.maxPosition) {
  44.             String var1 = this.delimiters;
  45.             char var2 = this.str.charAt(this.currentPosition);
  46.             if (var1.indexOf(var2, 0) >= 0) {
  47.                ++this.currentPosition;
  48.                continue;
  49.             }
  50.          }
  51.  
  52.          if (this.currentPosition >= this.maxPosition) {
  53.             return false;
  54.          }
  55.  
  56.          return true;
  57.       }
  58.    }
  59.  
  60.    public String nextToken() {
  61.       while(true) {
  62.          if (!this.retTokens && this.currentPosition < this.maxPosition) {
  63.             String var1 = this.delimiters;
  64.             char var2 = this.str.charAt(this.currentPosition);
  65.             if (var1.indexOf(var2, 0) >= 0) {
  66.                ++this.currentPosition;
  67.                continue;
  68.             }
  69.          }
  70.  
  71.          if (this.currentPosition >= this.maxPosition) {
  72.             throw new NoSuchElementException();
  73.          }
  74.  
  75.          int var4;
  76.          for(var4 = this.currentPosition; this.currentPosition < this.maxPosition; ++this.currentPosition) {
  77.             String var5 = this.delimiters;
  78.             char var3 = this.str.charAt(this.currentPosition);
  79.             if (var5.indexOf(var3, 0) >= 0) {
  80.                break;
  81.             }
  82.          }
  83.  
  84.          if (this.retTokens && var4 == this.currentPosition) {
  85.             String var6 = this.delimiters;
  86.             char var7 = this.str.charAt(this.currentPosition);
  87.             if (var6.indexOf(var7, 0) >= 0) {
  88.                ++this.currentPosition;
  89.             }
  90.          }
  91.  
  92.          return this.str.substring(var4, this.currentPosition);
  93.       }
  94.    }
  95.  
  96.    public String nextToken(String var1) {
  97.       this.delimiters = var1;
  98.       return this.nextToken();
  99.    }
  100.  
  101.    public boolean hasMoreElements() {
  102.       return this.hasMoreTokens();
  103.    }
  104.  
  105.    public Object nextElement() {
  106.       return this.nextToken();
  107.    }
  108.  
  109.    public int countTokens() {
  110.       int var1 = 0;
  111.  
  112.       for(int var2 = this.currentPosition; var2 < this.maxPosition; ++var1) {
  113.          while(!this.retTokens && var2 < this.maxPosition) {
  114.             String var3 = this.delimiters;
  115.             char var4 = this.str.charAt(var2);
  116.             if (var3.indexOf(var4, 0) < 0) {
  117.                break;
  118.             }
  119.  
  120.             ++var2;
  121.          }
  122.  
  123.          if (var2 >= this.maxPosition) {
  124.             break;
  125.          }
  126.  
  127.          int var6;
  128.          for(var6 = var2; var2 < this.maxPosition; ++var2) {
  129.             String var7 = this.delimiters;
  130.             char var5 = this.str.charAt(var2);
  131.             if (var7.indexOf(var5, 0) >= 0) {
  132.                break;
  133.             }
  134.          }
  135.  
  136.          if (this.retTokens && var6 == var2) {
  137.             String var8 = this.delimiters;
  138.             char var9 = this.str.charAt(var2);
  139.             if (var8.indexOf(var9, 0) >= 0) {
  140.                ++var2;
  141.             }
  142.          }
  143.       }
  144.  
  145.       return var1;
  146.    }
  147. }
  148.